import {reqGetUser, reqUpdateUser} from '../../api'

/* 
  读取query参数指定参数名的值
*/
function getQueryValue(name) {
  var str = location.href.split('?');
  var query = str[1];
  var vars = query.split('&');
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split('=');
    if (pair[0] == name) {
      return pair[1];
    }
  }
}

/* 
获取用户显示
*/
async function getUser() {
  // 读取id参数
  const id = getQueryValue('id')
  // 请求获取对应的用户
  const result = await reqGetUser(id)
  const user = result.data
  // 将用户显示到界面上
  document.getElementById('_id').value = user._id
  document.getElementById('username').value = user.username
  document.getElementById('preview').src = 'http://localhost:8082' + user.profile
}

// 实现选择图片预览效果
document.getElementById('profile').onchange = (e) => {
  // 得到加载的文件对象
  const file = e.target.files[0]
  // 将file中包含的文件编码为base64字符串
  const fileReader = new FileReader()
  fileReader.readAsDataURL(file)
  fileReader.onload = () => {
    const base64 = fileReader.result
    document.getElementById('preview').src = base64
  }
}

// 通过ajax提交更新用户的表单
const upateForm = document.getElementById('updateForm')
upateForm.onsubmit = async (e) => {
  // 阻止事件默认行为
  e.preventDefault()

  // 创建formData对象, 收集表单输入数据
  const formData = new FormData(upateForm)
  // 提交请求
  const result = await reqUpdateUser(formData)
  if (result.code==='2000') {
    window.location = '/users.html'
  } else {
    alert(result.message)
  }

}

getUser()